package com.mocha.common.kits;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Stack;

public class LifeCycle {
    // 静态属性
    private static String staticField = getStaticField();

    // 静态代码块
    static {
        System.out.println(staticField);
        System.out.println("静态代码块初始化");
    }

    // 普通属性
    private String field = getField();

    // 普通代码块
    {
        System.out.println(field);
        System.out.println("普通代码块初始化");
    }

    // 构造方法
    public LifeCycle() {
        System.out.println("构造方法初始化");
    }

    // 静态方法
    public static String getStaticField() {
        String statiFiled = "静态属性初始化";
        return statiFiled;
    }

    // 普通方法
    public String getField() {
        String filed = "普通属性初始化";
        return filed;
    }

    public static void main(String[] argc) {
        ArrayList<String> list = new ArrayList<>(10);
        list.add("23");
        list.add(1, "xx");
//        list.
//        list.removeIf()
        LinkedList<String> x = new LinkedList<>();
        x.add("88");
        x.add("44");
        x.add("55");
        x.add("99");

        HashMap<String, String> map = new HashMap<>();
        map.put("Q", "B");
        map.get("q");

        x.stream().forEach(l -> System.out.println(l));
        System.out.println();
        new LifeCycle();
    }

    /**
     *      静态属性初始化
     *      静态代码块初始化
     *      普通属性初始化
     *      普通代码块初始化
     *      构造方法初始化
     */
}
